In many companies, specialized software programs are acquired or developed to meet a specific business requirement of the company. A few examples of these specialized software programs include time collection and/or time billing software for professional services, customer relationship management software for sales organizations, accounting and payroll software for accounting groups, and human resources management software for staffing professionals.
These specialized programs often include complex and powerful features that represent the value for which the company invested in the specialized software. However, using specialized software generally requires training and assistance until the features are mastered. Productivity is lost when employees spend time in training or struggling to learn to use the specialized software. The investment of time in learning to use the specialized software is usually justified for those employees whose job requires them to utilize complex and powerful features to deliver value to the business. But for those employees whose interaction with the specialized software is limited to simple and occasional data entry or correction, the loss of productivity while struggling to understand unfamiliar software programs is much more difficult to justify. In many companies, the group of employees fully utilizing the features of the specialized software is quite small in comparison to the group whose use of the software is limited to simple entry or updating of data.
By way of illustration, the features of a time collection and billing software program are typically exploited to their fullest extent by a small number of administrative and accounting staff members responsible for generating invoices from time entries, applying invoice payments, and generating staff payroll. The timekeeping professionals, who greatly outnumber the administrative staff in the typical firm, need only enter their time entries. Entering a time entry requires conveying a few bits of information such as the client and project, the dates and duration of work performed, and perhaps some notes about the work. Unfortunately, in order to enter those bits of information the professional must attend training or struggle to learn to use the time collection/billing software, despite the fact that the timekeeping professional will never utilize more than a small percentage of the software features.
In the case of customer relationship management software, the professional sales staff may fully utilize the myriad features of the program in order to conduct campaigns, follow up on leads, and track customer purchase activity. However, other employees such as customer service representatives, mailroom personnel, even receptionists may need to occasionally create, update or look up customer contact information. In order to perform these simple tasks, the other employees must be trained and assisted in the use of the customer relationship management software when they utilize only its simplest features.
Accounting and payroll software is typically among the most complex of the specialized software programs illustrated. Accounting staff require the ability to configure and utilize a wide range of accounting rules and principles embodied in the software. This often requires an intimate knowledge of both accounting practices and software. In most companies, few individuals understand the intricacies involved, yet a large number of employees may be required to submit expense reports for reimbursement or submit other expenses that must be applied to a client invoice. This large group of employees must therefore be trained to use some portion of the accounting software in order to submit these expenses, diminishing their productivity.
Human resources staffs require access to a wealth of information about former employees, current employees, and job candidates, including work eligibility, employment history, work schedules, qualifications/skills, salary history, benefits information and much more. In most companies, the human resources staff is a small group, yet every employee must occasionally interact with the human resources software to request paid time off, to report sick time, to modify tax status, or to update benefit information.
Despite their specificity, these specialized software programs (both those exemplified above and many others not specifically mentioned) have several common elements. All store their data in some type of datastructure. All require some form of data entry and data update, and most have some method of exchanging information with other external systems.
A final relevant observation is the contrasting ubiquity of certain other categories of software, such as e-mail and calendar programs (e.g., Microsoft Outlook, Lotus Notes). In a given company, a high percentage of employees using a computer have access to one of these software programs. In addition, handheld devices with wireless or synchronization capabilities such as RIM Blackberry, personal digital assistants (e.g., Palm, iPaq), Internet-capable cellular telephones, two-way pagers, and other similar devices are increasingly utilized for messaging, calendaring, and other personal management and communication activities. Employees use these devices and software programs for a wide range of productive activities, making the training in their use easily justifiable for the company. These programs are often easier to use than more specialized programs because their publishers invest heavily in the design and testing of the software user interface to ensure usability across a wide spectrum of computing skills. In addition, the very ubiquity of the software ensures that users have already learned to use the software or will learn to use it in the normal course of business.
The calendar paradigm is an obvious choice for recording time, so many time tracking systems employ a calendar view within their proprietary software. The disadvantage to the user is that the proprietary software represents a separate software application from their personal information manager (e.g., Microsoft Outlook, Lotus Notes). It is a separate calendar in a separate program with separate and additional learning and usage requirements.
A few other commercial software systems provide a type of integration with a personal information manager like Microsoft Outlook by injecting their own additional user interface elements into the personal information manager, such as menu commands, forms or dialog boxes. While this approach adds functionality, the external software must be installed on the user's computer, where it provides separate and additional user interface elements within the personal information manager. These additional user interface elements naturally carry additional learning requirements. The advantage these products present to the user experience is limited to the convenience of not having to launch a separate program. These products do not leverage the e-mail functionality to create or transport the time entries. Data is saved and retrieved in the normal storage media used by the proprietary software.
At least one company provides a time tracking system that facilitates offline time entry by leveraging the user's existing e-mail software infrastructure. When offline, the proprietary software embeds time entry information into a specially formatted e-mail message. The specially formatted message is sent to a designated “gateway” e-mail box that is monitored by a proprietary software program. The gateway program then reads the e-mail message, decodes the time entry information within the proprietary payload for entry into the time entry system. This approach utilizes the store-and-forward capabilities of the user's messaging system to provide an offline use mode. However, the proprietary software must be installed on the computer of each user in order for that user to record time. The interface with which the user interacts is the proprietary software's user interface, not the interface of the existing e-mail system. The user is required to install and learn the proprietary software. The only role that the e-mail system plays is in transporting the data when offline.
What would be useful would be a system and method that utilizes ubiquitous software programs to permit users to provide input to specialized software programs without the need for modification of the ubiquitous software programs, without requiring the installation of any new software on the user's computer, and without requiring excessive user training.